package com.itheima.controller;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.itheima.domain.db.Questionnaire;
import com.itheima.domain.vo.QuestionnaireVo;
import com.itheima.manager.QuestionnaireManager;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;

import java.io.IOException;
import java.util.Map;

@RestController
public class QuestionnaireController {

    @Autowired
    private QuestionnaireManager questionnaireManager;


    /*
     * 问卷管理列表
     *
     * @param num 当前页
     * @param size  页条数
     * @author
     * @date
     * @return com.baomidou.mybatisplus.extension.plugins.pagination.Page
     */

    @GetMapping("/questionnaire")
    public Page SoulQuestionnaireList(@RequestParam(value = "num",defaultValue = "1") String num,
                                      @RequestParam(value = "pageSize",defaultValue = "10") String size){


        int currentPage=Integer.valueOf(num);
        int pageSize=Integer.valueOf(size);

        Page page=questionnaireManager.SoulQuestionnaireList(currentPage,pageSize);

        return page;
    }


    /*
     *  添加问卷数据
     *
     * @param questionnaire 问卷实体类
     * @author
     * @date
     * @return java.lang.String 成功返回Ok
     */

    @PostMapping("/saveQuestionnaire")
    public String saveQuestionnaire(@RequestBody QuestionnaireVo questionnaireVo) {

       return questionnaireManager.saveQuestionnaire(questionnaireVo);

    }

    //上传问卷图片
    @PostMapping("/upload")
    public Map upload(MultipartFile file) throws IOException {

     return   questionnaireManager.upload(file);

    }

    /*
     *编辑问卷 第一步查询出问卷数据
     *
     * @param questionnaire 问卷实体数据
     * @author
     * @date
     * @return com.itheima.domain.db.Questionnaire
     */
    @PostMapping("/showEdit")
    public Questionnaire showQuestionnaire(@RequestBody Questionnaire questionnaire){

        return questionnaireManager.showQuestionnaire(questionnaire);
    }


    /*
     *  编辑问卷
     *
     * @param questionnaire 问卷实体数据
     * @author
     * @date
     * @return java.lang.String
     */

    @PostMapping("/updateQuestionnaire")
    public String updateQuestionnaire(@RequestBody Questionnaire questionnaire){
        return questionnaireManager.updateQuestionnaire(questionnaire);
    }


    /*
     *
     *  删除问卷
     * @param questionnaire 问卷实体数据
     * @author
     * @date
     * @return java.lang.String
     */

    @PostMapping("/deleteQuestionnaire")
    public String deleteQuestionnaire (@RequestBody Questionnaire questionnaire){
        return questionnaireManager.deleteQuestionnaire(questionnaire);
    }


}
